/*
 * File:   FilterNode.java
 * Author: Oleg S. Estekhin
 */
package dht.emulator.filters;

import java.util.List;

import dht.emulator.Identifier;
import dht.emulator.Node;

/** todo write javadoc for FilterNode. */
public class FilterNode implements Node
{

    protected final Node delegate;

    public FilterNode(Node delegate)
    {
        this.delegate = delegate;
    }

    @Override
    public Identifier getIdentifier()
    {
        return delegate.getIdentifier();
    }

    @Override
    public void init()
    {
        delegate.init();
    }

    @Override
    public int getQuality()
    {
        return delegate.getQuality();
    }

    @Override
    public int getQuality(Node sender)
    {
        return delegate.getQuality(sender);
    }

    @Override
    public List<Node> getNodes()
    {
        return delegate.getNodes();
    }

    @Override
    public List<Node> getNodes(Identifier identifier)
    {
        return delegate.getNodes(identifier);
    }

    @Override
    public List<Node> getNodes(Identifier identifier, Node sender)
    {
        return delegate.getNodes(identifier, sender);
    }

    @Override
    public String getValue(Identifier key)
    {
        return delegate.getValue(key);
    }

    @Override
    public String getValue(Identifier key, Node sender)
    {
        return delegate.getValue(key, sender);
    }

    @Override
    public void putValue(Identifier key, String value)
    {
        delegate.putValue(key, value);
    }

    @Override
    public void putValue(Identifier key, String value, Node sender)
    {
        delegate.putValue(key, value, sender);
    }


    @Override
    public int hashCode()
    {
        return delegate.hashCode();
    }

    @Override
    public boolean equals(Object obj)
    {
        return delegate.equals(obj);
    }

    @Override
    public String toString()
    {
        return delegate.toString();
    }

}
